/**
 * Buttons
 */
.button {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: 0;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  color: _palette(accent);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 16px;
  font-weight: bold;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1.2;
  padding: 0.9em 1.875em;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-transition: .3s ease;
  transition: .3s ease;

  .accent-green & {
    color: _palette(accent-green);
  }

  .accent-blue & {
    color: _palette(accent-blue);
  }

  .accent-violet & {
    color: _palette(accent-violet);
  }

  .accent-yellow & {
    color: _palette(accent-yellow);
  }

  &:before,
  &:after {
    border: 2px solid currentColor;
    box-sizing: border-box;
    color: inherit;
    content: "";
    height: 32%;
    left: 0;
    position: absolute;
    transition: .3s ease;
    -webkit-transition: .3s ease;
    width: 100%;
  }

  &:before {
    border-bottom: 0;
    top: 0;
  }

  &:after {
    border-top: 0;
    bottom: 0;
  }

  &:hover,
  &:focus,
  &:active {
    color: _palette(accent);
    outline: 0;

    .accent-green & {
      color: _palette(accent-green);
    }
  
    .accent-blue & {
      color: _palette(accent-blue);
    }
  
    .accent-violet & {
      color: _palette(accent-violet);
    }
  
    .accent-yellow & {
      color: _palette(accent-yellow);
    }

    &:before,
    &:after {
      height: 50%;
    }
  }
}

.button-icon {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 0;
  box-sizing: border-box;
  color: inherit;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.25em;
  text-decoration: none;
}

.button-group {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  a {
    margin: 0 1em 1em 0;
  }
}